/**
 * SEZIONE DISTRIBUTORE
 */
function aggiornaDistributore(id){
    var titolo = '';
    var txtmessaggio = '';
    $('#content').load('templates/distributore.html', function(){
        if (province.length > 0) {
            for (var i = 0; i < province.length; i++) {
                $('#provincia').append('<option value="' + province[i].sigla + '">' +
                province[i].provincia +
                '</option>');
            }
        }
        if (nazioni.length > 0) {
            for (var i = 0; i < nazioni.length; i++) {
                $('#nazione').append('<option value="' + nazioni[i].id + '">' +
                nazioni[i].valore +
                '</option>');
            }
        }
        if (id) {
            $('#cont-navbar').html('DISTRIBUTORI > Modifica');
            titolo = 'Modifica Distributore';
            txtmessaggio = 'Distributore aggiornato con successo!';
            var strId = '&id=' + id;
            $.ajax({
                type: 'POST',
                url: 'distributori.php',
                data: 'op=getRecord&id=' + id,
                dataType: 'json',
                success: function(msg){
                	aggiornaSessione(msg);
                    $('#nome').val(msg.row[0].nome);
                    $('#referente').val(msg.row[0].referente);
                    $('#indirizzo').val(msg.row[0].indirizzo);
                    $('#citta').val(msg.row[0].citta);
                    $('#provincia').val(msg.row[0].provincia);
                    $('#nazione').val(msg.row[0].nazione);
                    $('#telefono').val(msg.row[0].telefono);
                    $('#mail').val(msg.row[0].mail);
                    $('#username').val(msg.row[0].username);
                }
            });
        }
        else {
            $('#cont-navbar').html('DISTRIBUTORI > Aggiungi Nuovo');
            titolo = 'Nuovo Distributore';
            txtmessaggio = 'Distributore salvato con successo!';
            var strId = '&id=0';
        }
        $('#titolo').html(titolo);
        $('#form-distributore').validate({
            errorClass: 'form-error',
            rules: {
                nome: 'required',
                mail: {
                    required: true,
                    email: true
                }
            },
            submitHandler: function(form){
                var strData = 'op=salva' +
                '&nome=' +
                $('#nome').val() +
                '&referente=' +
                $('#referente').val() +
                '&indirizzo=' +
                $('#indirizzo').val() +
                '&citta=' +
                $('#citta').val() +
                '&provincia=' +
                $('#provincia').val() +
                '&nazione=' +
                $('#nazione').val() +
                '&telefono=' +
                $('#telefono').val() +
                '&mail=' +
                $('#mail').val() +
                '&username=' +
                $('#username').val() +
                '&pw=' +
                $('#pw').val() +
                strId;
                $.ajax({
                    type: 'POST',
                    url: 'distributori.php',
                    data: strData,
                    dataType: 'json',
                    success: function(msg){
                    	aggiornaSessione(msg);
                        if (msg.error == "") {
                            messaggio(titolo, txtmessaggio);
                            caricaDistributori();
                        }
                        else {
                            alert(msg.error);
                        }
                    }
                });
            }
        });
    });
}

function attivaDistributore(id){
    $.ajax({
        type: 'POST',
        url: 'distributori.php',
        data: 'op=attiva&attivo=1&id=' + id,
        dataType: 'json',
        success: function(msg){
        	aggiornaSessione(msg);
            if (msg.error == "") {
                $('#elenco-distributori').click();
            }
            else {
                alert(msg.error);
            }
        }
    });
}

function attivaDistributoreCerca(id){
    $.ajax({
        type: 'POST',
        url: 'distributori.php',
        data: 'op=attiva&attivo=1&id=' + id,
        dataType: 'json',
        success: function(msg){
        	aggiornaSessione(msg);
            if (msg.error == "") {
                goToCercaClienti("", "");
            }
            else {
                alert(msg.error);
            }
        }
    });
}

function disattivaDistributore(id){
    $.ajax({
        type: 'POST',
        url: 'distributori.php',
        data: 'op=attiva&attivo=0&id=' + id,
        dataType: 'json',
        success: function(msg){
        	aggiornaSessione(msg);
            if (msg.error == "") {
                $('#elenco-distributori').click();
            }
            else {
                alert(msg.error);
            }
        }
    });
}

function disattivaDistributoreCerca(id){
    $.ajax({
        type: 'POST',
        url: 'distributori.php',
        data: 'op=attiva&attivo=0&id=' + id,
        dataType: 'json',
        success: function(msg){
        	aggiornaSessione(msg);
            if (msg.error == "") {
                goToCercaClienti("", "");
            }
            else {
                alert(msg.error);
            }
        }
    });
}

function archiviaDistributore(id){
    if (confirm('Sei sicuro di voler mettere in archivio il Distributore selezionato? Procedere?')) 
        $.ajax({
            type: 'POST',
            url: 'distributori.php',
            data: 'op=archivia&archivio=1&id=' + id,
            dataType: 'json',
            success: function(msg){
                if (msg.error == "") {
                    $('#elenco-distributori').click();
                }
                else {
                    alert(msg.error);
                }
            }
        });
}

function archiviaDistributoreCerca(id){
    if (confirm('Sei sicuro di voler mettere in archivio il Distributore selezionato? Procedere?')) 
        $.ajax({
            type: 'POST',
            url: 'distributori.php',
            data: 'op=archivia&archivio=1&id=' + id,
            dataType: 'json',
            success: function(msg){
            	aggiornaSessione(msg);
                if (msg.error == "") {
                    goToCercaClienti("", "");
                }
                else {
                    alert(msg.error);
                }
            }
        });
}

function ripristinaDistributore(id){
    if (confirm('Sei sicuro di voler togliere dall\'archivio e ripristinare il Distributore selezionato? Procedere?')) 
        $.ajax({
            type: 'POST',
            url: 'distributori.php',
            data: 'op=archivia&archivio=0&id=' + id,
            dataType: 'json',
            success: function(msg){
            	aggiornaSessione(msg);
                if (msg.error == "") {
                    $('#archivio-distributori').click();
                }
                else {
                    alert(msg.error);
                }
            }
        });
}

function ripristinaDistributoreCerca(id){
    if (confirm('Sei sicuro di voler togliere dall\'archivio e ripristinare il Distributore selezionato? Procedere?')) 
        $.ajax({
            type: 'POST',
            url: 'distributori.php',
            data: 'op=archivia&archivio=0&id=' + id,
            dataType: 'json',
            success: function(msg){
            	aggiornaSessione(msg);
                if (msg.error == "") {
                    goToCercaClienti("", "");
                }
                else {
                    alert(msg.error);
                }
            }
        });
}

function eliminaDistributore(id){
    if (confirm('Sei sicuro di voler eliminare il distributore selezionato? Procedere?')) {
        $.ajax({
            type: 'POST',
            url: 'distributori.php',
            data: 'op=elimina&id=' + id,
            dataType: 'json',
            success: function(msg){
            	aggiornaSessione(msg);
                if (msg.error == "") {
                    $('#elenco-utenti').click();
                }
                else {
                    alert(msg.error);
                }
            }
        });
    }
    else 
        return false;
}

function eliminaDistributoreCerca(id){
    if (confirm('Sei sicuro di voler eliminare il distributore selezionato? Procedere?')) {
        $.ajax({
            type: 'POST',
            url: 'distributori.php',
            data: 'op=elimina&id=' + id,
            dataType: 'json',
            success: function(msg){
            	aggiornaSessione(msg);
                if (msg.error == "") {
                    goToCercaClienti("", "");
                }
                else {
                    alert(msg.error);
                }
            }
        });
    }
    else 
        return false;
}

function cercaElencoDistributore(){
    $('#content').load('templates/cerca-distributore.html', function(){
        if (province.length > 0) {
            for (var i = 0; i < province.length; i++) {
                $('#provincia').append('<option value="' + province[i].sigla + '">' +
                province[i].provincia +
                '</option>');
            }
        }
        if (nazioni.length > 0) {
            for (var i = 0; i < nazioni.length; i++) {
                $('#nazione').append('<option value="' + nazioni[i].id + '">' +
                nazioni[i].valore +
                '</option>');
            }
        }
        $('#cont-navbar').html('DISTRIBUTORI > Cerca');
        $('#titolo').html("Cerca Distributore");
        $('#form-cerca-elenco-distributore').validate({
            errorClass: 'form-error',
            submitHandler: function(form){
                if ($('#codice').val() != "" || $('#nome').val() != "" || $('#provincia').val() != "" || $('#nazione').val() != "") {
                    var strData = 'op=cercaElenco&referente=' +
                    $('#referente').val() +
                    '&nome=' +
                    $('#nome').val() +
                    '&provincia=' +
                    $('#provincia').val() +
                    '&nazione=' +
                    $('#nazione').val() +
                    '&min=' +
                    $('#min-cerca-elenco-distributori').html() +
                    '&max=' +
                    $('#max-cerca-elenco-distributori').html();
                    $.ajax({
                        type: 'POST',
                        url: 'distributori.php',
                        data: strData,
                        dataType: 'json',
                        success: function(msg){
                        	aggiornaSessione(msg);
                            if (msg.totalCount > 0) {
                                var params = {
                                    cols: [{
                                        name: 'Distributore',
                                        index: 'nome',
                                        width: '240px'
                                    }, {
                                        name: 'Citta',
                                        index: 'citta',
                                        width: '125px'
                                    }, {
                                        name: 'Provincia',
                                        index: 'provincia_txt',
                                        width: '125px',
                                        align: 'center'
                                    }, {
                                        name: '&nbsp;',
                                        index: '',
                                        width: '125px',
                                        align: 'center'
                                    }],
                                    min: $('#min-cerca-elenco-distributori').html(),
                                    max: $('#max-cerca-elenco-distributori').html(),
                                    icons: [{
                                        classIcon: 'ico-modifica',
                                        action: 'aggiornaDistributore',
                                        data : 'id',
                                        tip: 'MODIFICA'
                                    }, {
                                        classIcon: 'ico-elimina',
                                        action: 'eliminaDistributoreCerca',
                                        data : 'id',
                                        tip: 'ELIMINA'
                                    }, {
                                        classIcon: 'ico-attiva',
                                        action: 'disattivaDistributoreCerca',
                                        data : 'id',
                                        tip: 'DISATTIVA'
                                    }, {
                                        classIcon: 'ico-disattiva',
                                        action: 'attivaDistributoreCerca',
                                        data : 'id',
                                        tip: 'ATTIVA'
                                    }, {
                                        classIcon: 'ico-archivia',
                                        action: 'archiviaDistributoreCerca',
                                        data : 'id',
                                        tip: 'METTI IN ARCHIVIO'
                                    }, {
                                        classIcon: 'ico-ripristina',
                                        action: 'ripristinaDistributoreCerca',
                                        data : 'id',
                                        tip: 'RIPRISTINA'
                                    }]
                                };
                                var html = '<div class="elenco" style="">' +
                                '<div class="header-elenco">Cerca Distributore</div>';
                                if (params.cols.length > 0) {
                                    html += '<div class="riga">';
                                    for (var i = 0; i < params.cols.length; i++) {
                                        if (params.cols[i].width != '') 
                                            html += '<div class="cell-header" style="width:' + params.cols[i].width + '">' + params.cols[i].name + '</div>';
                                    }
                                    html += '</div>';
                                }
                                if (msg.rows) {
                                    var totalCount = msg.totalCount;
                                    if (msg.rows.length > 0) {
                                        for (var k = 0; k < msg.rows.length; k++) {
                                            var id = msg.rows[k].idutente;
                                            var bcolor = '';
                                            k % 2 == 0 ? bcolor = '#F5F5F5' : bcolor = '#ffffff';
                                            html += '<div class="riga">';
                                            for (var i = 0; i < params.cols.length; i++) {
                                                var campo = params.cols[i].index;
                                                params.cols[i].align ? align = params.cols[i].align : align = 'left';
                                                if (i < params.cols.length - 1) 
                                                    html += '<div class="cell" style="width:' + params.cols[i].width + ';background-color:' + bcolor + ';text-align:' + align + '">' + msg.rows[k][campo] + '</div>';
                                                else {
                                                
                                                    if (params.icons.length > 0) {
                                                        html += '<div class="cell" style="width:' + params.cols[i].width + ';background-color:' + bcolor + ';text-align:' + align + '">';
                                                        for (var j = 0; j < params.icons.length; j++) {
                                                            switch (params.icons[j].classIcon) {
                                                                case 'ico-attiva':
                                                                    msg.rows[k].attivo || msg.rows[k].aperta ? html += '<div class="ico-attiva" title="' + params.icons[j].tip + '" onClick="' + params.icons[j].action + '(' + msg.rows[k][params.icons[j].data] + ');"></div>' : html += '<div class="ico-disattiva" title="' + params.icons[j + 1].tip + '" onClick="' + params.icons[j + 1].action + '(' + msg.rows[k][params.icons[j + 1].data] + ');"></div>';
                                                                    break;
                                                                    
                                                                case 'ico-disattiva':
                                                                    break;
                                                                    
                                                                case 'ico-archivia':
                                                                    msg.rows[k].archivio ? html += '<div class="ico-ripristina" title="' + params.icons[j + 1].tip + '" onClick="' + params.icons[j + 1].action + '(' + msg.rows[k][params.icons[j + 1].data] + ');"></div>' : html += '<div class="ico-archivia" title="' + params.icons[j].tip + '" onClick="' + params.icons[j].action + '(' + msg.rows[k][params.icons[j].data] + ');"></div>';
                                                                    break;
                                                                    
                                                                case 'ico-ripristina':
                                                                    break;
                                                                    
                                                                default:
                                                                    html += '<div class="' + params.icons[j].classIcon + '" title="' + params.icons[j].tip + '" onClick="' + params.icons[j].action + '(' + msg.rows[k][params.icons[j].data] + ');"></div>';
                                                                    break;
                                                            }
                                                        }
                                                        html += '</div>';
                                                    }
                                                }
                                            }
                                            html += '</div>';
                                        }
                                    }
                                }
                                html += '</div>';
                                if (totalCount > 0) { //attivo il paginatore
                                    var num_pages = 1;
                                    var current = 1;
                                    var avanti = '';
                                    var indietro = '';
                                    var fine = '';
                                    var inizio = '';
                                    if (totalCount > params.max) {
                                        num_pages = Math.floor(totalCount / params.max);
                                        if (totalCount > num_pages) 
                                            num_pages++;
                                        if (params.min > 0) { // devo calcolare in che pagina siamo e impostare i parametri per < <<
                                            current = (params.min / params.max) + 1;
                                            inizio = '<a href="javascript:;" onClick="goToCercaClienti(0,' + parseInt(params.max) + ');"><<</a>';
                                            indietro = '<a href="javascript:;" onClick="goToCercaClienti(' + (parseInt(params.min) - parseInt(params.max)) + ',' + parseInt(params.max) + ');"><</a>';
                                        }
                                        if (current < num_pages) {
                                            fine = '<a href="javascript:;" onClick="goToCercaClienti(' + ((num_pages - 1) * parseInt(params.max)) + ',' + parseInt(params.max) + ');">>></a>';
                                            avanti = '<a href="javascript:;" onClick="goToCercaClienti(' + (parseInt(params.min) + parseInt(params.max)) + ',' + parseInt(params.max) + ');">></a>';
                                        }
                                    }
                                    html += '<div class="pager">';
                                    html += '<div class="pager-left">' + inizio + ' ' + indietro + '</div>';
                                    html += '<div class="pager-center">Pag ' + current + ' di ' + num_pages + '</div>';
                                    html += '<div class="pager-right">' + avanti + ' ' + fine + '</div>';
                                    html += '</div>';
                                }
                                // LEGENDA 
                                html += '<div id="helper" class="help"></div>';
                                $('#content').html(html);
                            }
                            else {
                                alert('Nessun distributore trovato per questa ricerca.');
                            }
                        }
                    });
                }
                else {
                    alert('Devi inserire almeno un parametro per la ricerca');
                }
            }
        });
    });
}

function goToCercaClienti(p_min, p_max){
	if(p_min=="") {
	  p_min = $('#cerca-elenco-distributori').attr('min');	
	} else {
		$('#cerca-elenco-distributori').attr('min',p_min);
	}
	if(p_max=="") {
	  p_max = $('#cerca-elenco-distributori').attr('max');	
	} else {
		$('#cerca-elenco-distributori').attr('max', p_max);
	}
	var strData = 'op=cercaElenco&mode=pager&min=' +
                    $('#cerca-elenco-distributori').attr('min') +
                    '&max=' +
                    $('#cerca-elenco-distributori').attr('max');
                    $.ajax({
                        type: 'POST',
                        url: 'distributori.php',
                        data: strData,
                        dataType: 'json',
                        success: function(msg){
                        	aggiornaSessione(msg);
                            if (msg.totalCount > 0) {
                                var params = {
                                    cols: [{
                                        name: 'Data Reg.',
                                        index: 'data_reg',
                                        width: '80px'
                                    }, {
                                        name: 'Distributore',
                                        index: 'nome',
                                        width: '240px'
                                    }, {
                                        name: 'Citta',
                                        index: 'citta',
                                        width: '125px'
                                    }, {
                                        name: 'Provincia',
                                        index: 'provincia_txt',
                                        width: '125px',
                                        align: 'center'
                                    }, {
                                        name: '&nbsp;',
                                        index: '',
                                        width: '125px',
                                        align: 'center'
                                    }],
                                    min: p_min,
                                    max: p_max,
                                    icons: [{
                                        classIcon: 'ico-modifica',
                                        action: 'aggiornaDistributore',
                                        data : 'id',
                                        tip: 'MODIFICA'
                                    }, {
                                        classIcon: 'ico-elimina',
                                        action: 'eliminaDistributoreCerca',
                                        data : 'id',
                                        tip: 'ELIMINA'
                                    }, {
                                        classIcon: 'ico-attiva',
                                        action: 'disattivaDistributoreCerca',
                                        data : 'id',
                                        tip: 'DISATTIVA'
                                    }, {
                                        classIcon: 'ico-disattiva',
                                        action: 'attivaDistributoreCerca',
                                        data : 'id',
                                        tip: 'ATTIVA'
                                    }, {
                                        classIcon: 'ico-archivia',
                                        action: 'archiviaDistributoreCerca',
                                        data : 'id',
                                        tip: 'METTI IN ARCHIVIO'
                                    }, {
                                        classIcon: 'ico-ripristina',
                                        action: 'ripristinaDistributoreCerca',
                                        data : 'id',
                                        tip: 'RIPRISTINA'
                                    }]
                                };
                                var html = '<div class="elenco" style="">' +
                                '<div class="header-elenco">Cerca Distributore</div>';
                                if (params.cols.length > 0) {
                                    html += '<div class="riga">';
                                    for (var i = 0; i < params.cols.length; i++) {
                                        if (params.cols[i].width != '') 
                                            html += '<div class="cell-header" style="width:' + params.cols[i].width + '">' + params.cols[i].name + '</div>';
                                    }
                                    html += '</div>';
                                }
                                if (msg.rows) {
                                    var totalCount = msg.totalCount;
                                    if (msg.rows.length > 0) {
                                        for (var k = 0; k < msg.rows.length; k++) {
                                            var id = msg.rows[k].idutente;
                                            var bcolor = '';
                                            k % 2 == 0 ? bcolor = '#F5F5F5' : bcolor = '#ffffff';
                                            html += '<div class="riga">';
                                            for (var i = 0; i < params.cols.length; i++) {
                                                var campo = params.cols[i].index;
                                                params.cols[i].align ? align = params.cols[i].align : align = 'left';
                                                if (i < params.cols.length - 1) 
                                                    html += '<div class="cell" style="width:' + params.cols[i].width + ';background-color:' + bcolor + ';text-align:' + align + '">' + msg.rows[k][campo] + '</div>';
                                                else {
                                                
                                                    if (params.icons.length > 0) {
                                                        html += '<div class="cell" style="width:' + params.cols[i].width + ';background-color:' + bcolor + ';text-align:' + align + '">';
                                                        for (var j = 0; j < params.icons.length; j++) {
                                                            switch (params.icons[j].classIcon) {
                                                                case 'ico-attiva':
                                                                    msg.rows[k].attivo || msg.rows[k].aperta ? html += '<div class="ico-attiva" title="' + params.icons[j].tip + '" onClick="' + params.icons[j].action + '(' + msg.rows[k][params.icons[j].data] + ');"></div>' : html += '<div class="ico-disattiva" title="' + params.icons[j + 1].tip + '" onClick="' + params.icons[j + 1].action + '(' + msg.rows[k][params.icons[j + 1].data] + ');"></div>';
                                                                    break;
                                                                    
                                                                case 'ico-disattiva':
                                                                    break;
                                                                    
                                                                case 'ico-archivia':
                                                                    msg.rows[k].archivio ? html += '<div class="ico-ripristina" title="' + params.icons[j + 1].tip + '" onClick="' + params.icons[j + 1].action + '(' + msg.rows[k][params.icons[j + 1].data] + ');"></div>' : html += '<div class="ico-archivia" title="' + params.icons[j].tip + '" onClick="' + params.icons[j].action + '(' + msg.rows[k][params.icons[j].data] + ');"></div>';
                                                                    break;
                                                                    
                                                                case 'ico-ripristina':
                                                                    break;
                                                                    
                                                                default:
                                                                    html += '<div class="' + params.icons[j].classIcon + '" title="' + params.icons[j].tip + '" onClick="' + params.icons[j].action + '(' + msg.rows[k][params.icons[j].data] + ');"></div>';
                                                                    break;
                                                            }
                                                        }
                                                        html += '</div>';
                                                    }
                                                }
                                            }
                                            html += '</div>';
                                        }
                                    }
                                }
                                html += '</div>';
                                if (totalCount > 0) { //attivo il paginatore
                                    var num_pages = 1;
                                    var current = 1;
                                    var avanti = '';
                                    var indietro = '';
                                    var fine = '';
                                    var inizio = '';
                                    if (totalCount > params.max) {
                                        num_pages = Math.floor(totalCount / params.max);
                                        if (totalCount > num_pages) 
                                            num_pages++;
                                        if (params.min > 0) { // devo calcolare in che pagina siamo e impostare i parametri per < <<
                                            current = (params.min / params.max) + 1;
                                            inizio = '<a href="javascript:;" onClick="goToCercaClienti(0,' + parseInt(params.max) + ');"><<</a>';
                                            indietro = '<a href="javascript:;" onClick="goToCercaClienti(' + (parseInt(params.min) - parseInt(params.max)) + ',' + parseInt(params.max) + ');"><</a>';
                                        }
                                        if (current < num_pages) {
                                            fine = '<a href="javascript:;" onClick="goToCercaClienti(' + ((num_pages - 1) * parseInt(params.max)) + ',' + parseInt(params.max) + ');">>></a>';
                                            avanti = '<a href="javascript:;" onClick="goToCercaClienti(' + (parseInt(params.min) + parseInt(params.max)) + ',' + parseInt(params.max) + ');">></a>';
                                        }
                                    }
                                    html += '<div class="pager">';
                                    html += '<div class="pager-left">' + inizio + ' ' + indietro + '</div>';
                                    html += '<div class="pager-center">Pag ' + current + ' di ' + num_pages + '</div>';
                                    html += '<div class="pager-right">' + avanti + ' ' + fine + '</div>';
                                    html += '</div>';
                                }
                                // LEGENDA 
                                html += '<div id="helper" class="help"></div>';
                                $('#content').html(html);
                            }
                            else {
                                alert('Nessun distributore trovato per questa ricerca.');
                            }
                        }
                    });
}
